package com.xyrl.project.common.util;

/**
 * <b>类名：</b>PastDueAccountException.java<br>
 * <p><b>标题：</b>OAO商城定制系统</p>
 * <p><b>描述：</b>OAO商城定制系统</p>
 * <p><b>版权声明：</b>Copyright (c) 2015</p>
 * <p><b>公司：</b>重庆大鼎科技有限公司 </p>
 * @author <font color='blue'>zengguolong</font>
 * @version 1.0.1
 * @date  2015-10-8 下午02:34:48
 * @Description 过期平台异常
 */
public class RegexUtil {
    /**
     * 手机号正则表达式
     */
    public static final String PHONE = "^(0|86|17951)?(13[0-9]|15[0-9]|17[0-9]|18[0-9]|14[0-9])[0-9]{8}$";
    /**
     * 只能包含数字、字母、汉字
     */
    public static final String REGEX_NLC = "^[a-zA-Z0-9\\u4e00-\\u9fa5]+$";
    /**
     * 汉字
     */
    public static final String REGEX_CN = "^[\\u4e00-\\u9fa5]+$";
    /**
     * 经纬度格式：ddd.dddddd格式
     */
    public static final String REGEX_DEGREE = "^(0|1)?[0-9]{2}\\.\\d{6}$";
    /**
     * 数字、字母、下划线
     */
    public static final String DIGITAL_LETTER_UNDERLINE  = "^\\w+$";
    /**
     * 只包含数字字母
     */
    public static final String REGEX_NUM_LETTER  = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$";
    /**
     * 科学计数法正则表达式
     */
    public static final String SCIENTIFIC_NUMBER = "^((-?\\d+.?\\d*)[Ee]{1}(-?\\d+))$";
    /**
     * 身份证
     */
    public static final String ID_CARD = "(^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{2}$)";

    /**
     * <b>方法名：</b> isMobile<br>
     * <b>功能说明：</b> 是否是手机号<br>
     * @param mobile
     * @author <font color='blue'>徐恩源</font>
     * @date 2019-08-22 20:51:35
     */
    public static boolean isMobile(String mobile) {
        if (null == mobile) {
            return false;
        }
        return mobile.matches(RegexUtil.PHONE);
    }
}
